import request from '../utils/request';
import {loginreq} from './axiosFun';
import config from "../../config/config";

// 登录接口
export const login = (params) => {
  return loginreq("post", "/api/login", params)
};
// ticket换Token
export const loginByTicket = (params) => {
  return loginreq("post", "/api/auth/sso/doLoginByTicket", params)
};

// 获取用户菜单
export const menu = (params) => {
  return request.get(config.systemURL + "sysMenu/me");
};
export const me = (param) => {
  return request.get(config.authURL + "sso/me");
};
// 退出接口
export const loginout = () => {
  return request.get(config.authURL + "sso/logout").then(res => {
    console.log(res);
    if (res.code === 200 || res.msg === "单点注销成功") {
      window.location.reload();
    }
  })
};

/**
 * 用户管理
 **/
// 用户管理-获取用户列表
export const userList = (params) => {
  return request.post(config.systemURL + "sysUser/index", params);
};
// 用户管理-保存
export const userSave = (params) => {
  return request.post(config.systemURL + "sysUser", params);
};
// 用户管理-编辑
export const userUpdate = (params) => {
  return request.post(config.systemURL + "sysUser/update", params);
};
// 用户管理-删除用户
export const userDelete = (params) => {
  return request.delete(config.systemURL + "sysUser/" + params);
};
// 用户管理-重置密码
export const userPwd = (params) => {
  return request.post(config.systemURL + "sysUser/resetPasswd", params)
};
// 用户管理-修改状态
export const userLock = (params) => {
  return request.post(config.systemURL + "sysUser/update", params);
}
// 用户管理-数据权限
export const UserDeptTree = (params) => {
  return request.get("/api/UserDept/tree/" + params);
};
// 用户管理-数据权限保存
export const UserDeptSave = (params) => {
  return request.post(config.systemURL + "sysCompany", params);
};
// 用户管理-获取部门设置
export const UserDeptdeptTree = (params) => {
  return request.get("/api/UserDept/deptTree/" + params);
};
// 用户管理-保存部门设置
export const UserChangeDept = (params) => {
  return request.post(config.systemURL + "sysUser/updates", params)
};
// 用户管理-用户下线
export const userExpireToken = (params) => {
  return request.get("/api/User/expireToken/" + params, {});
};
// 用户管理-刷新缓存
export const userFlashCache = (params) => {
  return request.get("/api/User/flashCache/" + params, {});
};

/**
 * 菜单管理
 **/
// 菜单管理-根据菜单获取数据
export const ModuleGet = (params) => {
  return request.get(config.systemURL + "sysMenu/get?id=" + params);
};
// 菜单管理-获取父级菜单Module/nodes
export const ModuleNodes = (params) => {
  return request.post(config.systemURL + "sysMenu/index", params);
};
// 菜单管理-新增菜单
export const ModuleSave = (params) => {
  return request.post(config.systemURL + "sysMenu", params);
};
// 菜单管理-修改菜单
export const ModuleUpdate = (params) => {
  return request.post(config.systemURL + "sysMenu/update", params);
};
// 菜单管理-删除菜单
export const ModuleDelete = (params) => {
  return request.delete(config.systemURL + "sysMenu/" + params);
};

/**
 * 角色管理
 **/
// 角色管理-获取角色列表
export const roleList = (params) => {
  return request.post(config.systemURL + "sysRole/index", params);
};
// 角色管理-新增（添加编辑）
export const roleSave = (params) => {
  return request.post(config.systemURL + "sysRole", params)
};
// 角色管理-保存（添加编辑）
export const roleUpdate = (params) => {
  return request.post(config.systemURL + "sysRole/update", params);
};
// 角色管理-删除角色
export const roleDelete = (params) => {
  return request.delete(config.systemURL + "sysRole/" + params);
};
// 角色管理-菜单权限（获取）
export const RoleRightTree = (params) => {
  return request.get(config.systemURL + "sysMenu/role/" + params);
};
// 角色管理-菜单权限（保存）
export const RoleRightSave = (params) => {
  return request.post(config.systemURL + "sysRoleMenu/update", params);
};

/**
 * 公司管理
 **/
// 公司管理-获取公司列表
export const deptList = (params) => {
  return request.post(config.systemURL + "sysCompany/index", params);
};
// 公司管理-保存（添加编辑）
export const deptSave = (params) => {
  return request.post(config.systemURL + "sysCompany", params);
};
// 公司管理-保存（修改编辑）
export const deptUpdate = (params) => {
  return request.post(config.systemURL + "sysCompany/update", params);
};
// 公司管理-删除公司
export const deptDelete = (params) => {
  return request.delete(config.systemURL + "sysCompany/" + params);
};
// 公司管理-所有
export const deptAll = () => {
  return request.post(config.systemURL + "sysCompany/all");
};

/**
 * 系统环境变量
 **/
// 系统环境变量-获取系统环境变量列表
export const variableList = (params) => {
  return request.post(config.systemURL + "sysParam/index", params);
};
// 系统环境变量-保存（添加编辑）
export const variableSave = (params) => {
  return request.post(config.systemURL + "sysParam", params);
};
// 系统环境变量-删除系统环境变量
export const variableDelete = (params) => {
  return request.delete(config.systemURL + "sysParam/" + params);
};
// 系统环境变量-修改系统环境变量
export const variableUpdate = (params) => {
  return request.post(config.systemURL + "sysParam/update", params);
};

/**
 * 权限管理
 **/
// 权限管理-获取权限列表
export const permissionList = (params) => {
  return request.post("/api/Permission/list", params);
};
// 权限管理-保存权限
export const ermissionSave = (params) => {
  return request.post("/api/Permission/save", params);
};
// 权限管理-删除权限
export const ermissionDelete = (params) => {
  return request.delete("/api/Permission/delete?ids=" + params);
};
// 权限管理-获取权限
export const roleDropDown = () => {
  return request.get("/api/Role/dropDown/all");
};
// 权限管理-配置权限
export const RolePermission = (params) => {
  return request.post("/api/RolePermission/save", params);
};
